package com.sunrise.crm.repositorio;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import com.sunrise.crm.repositorio.iface.EstadoDao;
import com.sunrise.generico.acesso.DaoNegocioService;
import com.sunrise.generico.entidade.Estado;

@Repository
public class EstadoDaoImpl extends DaoNegocioService<Estado> implements
		EstadoDao {

	@SuppressWarnings("unchecked")
	public List<Estado> listarOrdenado() {
		Criteria crit = getSession().createCriteria(Estado.class);
		crit.addOrder(Order.asc("nome"));
		return crit.list();
	}

	public Estado getById(Long id) {
		return getById(id, Estado.class);
	}

	@Override
	public Estado buscarPorNome(String estado) {
		Criteria crit = getSession().createCriteria(Estado.class);
		crit.add(Restrictions.eq("nome", estado));
		return (Estado) crit.uniqueResult();
	}

	@Override
	public Estado buscarPorUf(String uf) {
		Criteria crit = getSession().createCriteria(Estado.class);
		crit.add(Restrictions.eq("uf", uf));
		return (Estado) crit.uniqueResult();
	}


}
